Merged
Conversation
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…ility-check Implement slot availability check for wardriving throttle
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…plete Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Change capacity check from fail-open to fail-closed and improve status messages
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…guidelines Fix connection status message timing and preserve error states during disconnect
- Modified postToMeshMapperAPI() to check 'allowed' field on every POST - Added debug logging when allowed === true (device still has active slot) - Changed disconnect behavior when allowed === false to use new status message - Updated status message from 'capacity' to 'slot has been revoked' - Added new disconnectReason 'slot_revoked' for tracking - Updated STATUS_MESSAGES.md with new status message documentation Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…uidelines Implement slot revocation check on API responses
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Fix slot revocation check to parse API response regardless of HTTP status
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…ection-documentation Add comprehensive connection/disconnection workflow documentation
… GPS init Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…dards Reorder connection flow: check capacity before channel/GPS setup
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…tribute Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…elines-again Add build-time app version to MeshMapper API payload
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…dards-again Add granular status messages for connection flow and fix slot revocation disconnect sequence
…sages Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…uidelines-again Fix status message ordering in capacity check failure flow
- Add state.pingInProgress flag to track full ping lifecycle - Lock ping controls when ping operation starts (after validation) - Unlock controls only after API post completes in postApiAndRefreshMap - Add unlock logic for error paths and edge cases - Add debug logging for control lock/unlock events - Ensure controls remain locked during: ping send, RX listening, finalizing repeats, and API posting Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
- Add details about control locking during entire ping lifecycle - Document when controls lock/unlock relative to API posting - Clarify that controls remain locked through all phases including API post Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
- Create unlockPingControls(reason) helper to eliminate code duplication - Remove redundant pingInProgress variable in updateControlsForCooldown - Use helper function in all unlock paths for consistency - Improves maintainability and ensures consistent behavior Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…uidelines-another-one Fix ping controls unlocking prematurely before API post completes
Remove setStatus("Disconnected") from final else block in disconnected event handler.
This was causing the terminal error messages (capacity_full, app_down) to be overwritten.
Added comprehensive debug logging to track disconnect reason and code paths.
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Replace generic "error" disconnect reason with specific reasons: - "public_key_error": When device public key is invalid or missing - "channel_setup_error": When channel setup or GPS initialization fails - "ble_disconnect_error": When BLE disconnect operation fails Each error now displays a specific terminal status message in the disconnected event handler, following the same pattern as capacity_full, app_down, and slot_revoked. The else block now shows generic "Disconnected" message for truly unknown reasons instead of trying to preserve non-existent status messages. Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
- Clarify disconnect delay comment to explain it ensures "Acquiring wardriving slot" status is visible before "Disconnecting" appears - Add comments to explain intentional duplicate clearing of error messages (in handler for immediate cleanup, in general cleanup as safety net) Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
…ering Fix status message ordering in disconnect flows
All "Disconnected" status messages now bypass the 500ms minimum visibility enforcement by passing `immediate: true` as the third parameter to setStatus. This ensures disconnected messages appear immediately without delay, fixing the issue where messages were queued with 445ms delays. Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Fix disconnected messages being queued instead of showing immediately
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Title: Release v1.4.0 - Capacity Management & Enhanced Connection Flow
Description:
Summary
This release introduces a comprehensive capacity management system, improved connection flow, and better user feedback through granular status messages.
Key Changes
🔐 Capacity Management
📊 Version Tracking
🔄 Connection Flow Improvements
💬 Status Message Enhancements
🐛 Bug Fixes
📚 Documentation
Files Changed
Testing Notes